using System;
using System.Collections.Generic;
using System.Text;
using System.Data;

namespace Negocio.Controladora
{
    // Clase Controladora
    public class ActualizarCliente
    {
        #region Metodos publicos

        // Devuelve la lista de clientes
        public DataTable ListaCliente(String tipoDocumento, String nroDocumento,
            String apellidoPaterno, String apellidoMaterno, String nombre,
            String razonSocial, String codigoCliente)
        {
            try
            {
                Negocio.Cliente oCliente = new Negocio.Cliente();
                return oCliente.ListaCliente(tipoDocumento, nroDocumento, apellidoPaterno,
                    apellidoMaterno, nombre, razonSocial, codigoCliente);
            }
            catch (Exception ex)
            {
                throw new Exception("ListaCliente() - " + ex.Message);
            }
        }

        // Devuelve la lista de tipo de documentos
        public DataTable ListaTipoDocumento()
        {
            try
            {
                Negocio.Cliente oCliente = new Negocio.Cliente();
                return oCliente.ListaTipoDocumento();
            }
            catch (Exception ex)
            {
                throw new Exception("ListaTipoDocumento() - " + ex.Message);
            }
        }

        // Devuelve la lista de tipo cliente
        public DataTable ListaTipoCliente()
        {
            try
            {
                Negocio.Cliente oCliente = new Negocio.Cliente();
                return oCliente.ListaTipoCliente();
            }
            catch (Exception ex)
            {
                throw new Exception("ListaTipoCliente() - " + ex.Message);
            }
        }

        // Devuelve la lista de tipo de tarjeta
        public DataTable ListaTipoTarjeta()
        {
            try
            {
                Negocio.Cliente oCliente = new Negocio.Cliente();
                return oCliente.ListaTipoTarjeta();
            }
            catch (Exception ex)
            {
                throw new Exception("ListaTipoTarjeta() - " + ex.Message);
            }
        }

        // Devuelve la lista de estados del cliente
        public DataTable ListaEstadoCliente()
        {
            try
            {
                Negocio.Cliente oCliente = new Negocio.Cliente();
                return oCliente.ListaEstadoCliente();
            }
            catch (Exception ex)
            {
                throw new Exception("ListaEstadoCliente() - " + ex.Message);
            }
        }

        // Inserta un cliente
        public bool InsertaCliente(Entidades.Cliente cliente)
        {
            try
            {
                Negocio.Cliente oCliente = new Negocio.Cliente();
                return oCliente.InsertaCliente(cliente);
            }
            catch (Exception ex)
            {
                throw new Exception("InsertaCliente() - " + ex.Message);
            }
        }

        // Edita un cliente
        public bool EditaCliente(Entidades.Cliente cliente)
        {
            try
            {
                Negocio.Cliente oCliente = new Negocio.Cliente();
                return oCliente.EditaCliente(cliente);
            }
            catch (Exception ex)
            {
                throw new Exception("EditaCliente() - " + ex.Message);
            }
        }

        // Elimina un cliente
        public bool EliminaCliente(Entidades.Cliente cliente)
        {
            try
            {
                Negocio.Cliente oCliente = new Negocio.Cliente();
                return oCliente.EliminaCliente(cliente);
            }
            catch (Exception ex)
            {
                throw new Exception("EliminaCliente() - " + ex.Message);
            }
        }

        #endregion
    }
}
